﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

public partial class cadastroOcorrencia : System.Web.UI.Page
{
    localhost.Service1 servico = new localhost.Service1();

    protected void Page_Load(object sender, EventArgs e)
    {
        RepositorioOcorrencia repOcorencia = new RepositorioOcorrencia();
        //int codOcorrencia = repOcorencia.retornaMaxId();
        int codOcorrencia = servico.buscarCodigoOcorrencia();
        codigo.Value = repOcorencia.formataID("0000", codOcorrencia + "");
        
        string[] temp = servico.buscarCategorias();
        for (int i = 0; temp.Length > i ; i++){
            categoria.Items.Add(temp[i]);
        }
        

    }

    protected void dados_pessoais(object sender, EventArgs e)
    {
        int contatdo = 0;

        if (rua.Value.ToString().Equals(""))
        {
            srua.Text = "Campo Obrigatório";
            contatdo++;
        }

        if (bairro.Value.ToString().Equals(""))
        {
            sbairro.Text = "Campo Obrigatório";
            contatdo++;
        }

        if (preferencia.Value.ToString().Equals(""))
        {
            spreferencia.Text = "Campo Obrigatório";
            contatdo++;
        }

        if (cep.Value.ToString().Equals(""))
        {
            scep.Text = "Campo Obrigatório";
            contatdo++;
        }

        if (categoria.Value.ToString().Equals(""))
        {
            scategoria.Text = "Campo Obrigatório";
            contatdo++;
        }

        if (nome.Value.ToString().Equals(""))
        {
            snome.Text = "Campo Obrigatório";
            contatdo++;
        }

        if (email.Value.ToString().Equals(""))
        {
            semail.Text = "Campo Obrigatório";
            contatdo++;
        }

        if (celular.Value.ToString().Equals(""))
        {
            scelular.Text = "Campo Obrigatório";
            contatdo++;
        }

        if (contatdo == 0)
        {
            // verificamos se foi enviado algum arquivo
            if (upload.PostedFile != null)
            {
                HttpPostedFile myFile = upload.PostedFile;
                //Tamanho do arquivo
                int nFileLen = myFile.ContentLength;
                byte[] myData = new byte[nFileLen];
                // Read uploaded file from the Stream
                myFile.InputStream.Read(myData, 0, nFileLen);
                string nameFile = upload.FileName;
                upload.SaveAs("C:\\Ocorrencias" + nameFile);
                Session["caminhoImage"] = "imgOcorrencia/" + nameFile;

            }

            Ocorrencia ocorrencia = new Ocorrencia();
            RepositorioOcorrencia repOcorrencia = new RepositorioOcorrencia();

            ocorrencia.Ocorrencia_cod = int.Parse(codigo.Value.ToString());
            ocorrencia.Categoria_cod = servico.buscarCodCatPorNome(categoria.Value.ToString());
            ocorrencia.Ocorrencia_av_rua = rua.Value.ToString();
            ocorrencia.Ocorrencia_bairro = bairro.Value.ToString();
            ocorrencia.Ocorrencia_ponto_ref = preferencia.Value.ToString();
            ocorrencia.Ocorrencia_cep = cep.Value.ToString();
            ocorrencia.Denunciante_nome = nome.Value.ToString();
            ocorrencia.Denunciante_email = email.Value.ToString();
            ocorrencia.Denunciante_celular = celular.Value.ToString();
            ocorrencia.Ocorrencia_data_cadastro = DateTime.Now;
            ocorrencia.Ocorrencia_situacao = "R";
            if (envioCelular.Checked)
            {
                ocorrencia.Ocorrencia_envio = "C";
            }
            else
            {
                ocorrencia.Ocorrencia_envio = "E";
            }
                ocorrencia.Ocorrencia_imagem = Session["caminhoImage"].ToString();

            /*if (repOcorrencia.inserirOcorrencia(ocorrencia))
            {
                msAlert.Text = "Cadastrado com sucesso";
                limpaCampos();

            }
            else
            {
                msAlert.Text = "Erro ao inserir ocorrência,verifique os dados e tente novamente.";
            }*/

            try
            {
                servico.inserirOcorrencia(ocorrencia.Ocorrencia_cod, ocorrencia.Categoria_cod, ocorrencia.Ocorrencia_av_rua, 
                                            ocorrencia.Ocorrencia_bairro, ocorrencia.Ocorrencia_ponto_ref, ocorrencia.Ocorrencia_cep,
                                            ocorrencia.Denunciante_nome, ocorrencia.Denunciante_email, ocorrencia.Denunciante_celular,
                                            ocorrencia.Ocorrencia_envio, ocorrencia.Ocorrencia_imagem, ocorrencia.Ocorrencia_data_cadastro,
                                            ocorrencia.Ocorrencia_situacao);
                msAlert.Text = "Cadastrado com sucesso";
                limpaCampos();
            }
            catch
            {
                msAlert.Text = "Erro ao inserir ocorrência,verifique os dados e tente novamente.";
            }

        }
    }


    protected void limpaCampos()
    {
        rua.Value = null;
        srua.Text = "";

        bairro.Value = null;
        sbairro.Text = "";

        preferencia.Value = null;
        spreferencia.Text = "";

        cep.Value = null;
        scep.Text = "";

        nome.Value = null;
        snome.Text = "";

        email.Value = null;
        semail.Text = "";

        celular.Value = null;
        scelular.Text = "";

    }
}
